Packet switching is often used to allow multiple computing devices to communicate over a local area network. Using packet switching, a computing device is at all times connected to the network but transmits data in the form of individual packets. In Ethernet systems with data rates of 10 Megabits/second, for example, packets contain approximately 6,000 bits and are approximately 60 microseconds in duration.
Because packets may be transmitted by any computing device on the network, collisions may occur when two devices transmit packets simultaneously. To insure the reliable transmission of data over the network, collisions must be detected so that remedial action, such as retransmission of the colliding packets, may be taken.
One technique for detecting collisions is a listen-while-talk protocol. This system allows a device to begin transmitting a packet if no other transmission is detected on the network. Once the transmission of the packet begins, the transmitting device monitors the network for errors in its own transmission. If a collision occurs, the transmitting device detects an error in its transmission and aborts its transmission. Some such systems, as described in U.S. Pat. No. 4,210,780, impose a random delay on the devices prior to retransmission to avoid continual collisions between multiple devices.
Other methods for detecting collisions on local area networks employ the transmission of collision-detecting packets with each transmission of data. U.S. Pat. No. 4,584,678 describes such a method in which the collision-detecting packets have a predetermined duration and pulse pattern and precede the data packets by a fixed time period. The transmitting station detects collisions by comparing the pattern of pulses which form the collision-detecting packet during transmission with the pattern of pulses actually received.
Another technique for detecting collisions on a packet switching network uses a high-amplitude pulse embedded in the preamble of the packet. In the absence of collisions, the minimum separation between successive high-amplitude pulses is the duration of a packet plus the delay between successive packets. A collision is detected when two high-amplitude pulses violate this minimum separation. Collisions resulting in coincident high-amplitude pulses, however, are not detected by this method. As described in U.S. Pat. No. 4,888,763, such collisions are detected by a secondary examination of the contents of the preamble, which contains a specified code. If the preamble does not contain the specified code upon receipt, a collision is detected.
Accordingly, the above described techniques for detecting collisions require the device to read data from the network in digital format and compare the digital data to an expected value. Some such techniques also require the transmission of specialized collision detection data, or additional circuitry to create and detect specialized collision detection signals.
Therefore, it is desirable to have an inexpensive device that can detect collisions on a local area network without requiring the transmission of a dedicated signal or code. It is further desirable that this device be capable of detecting collisions based solely on the signal observed on the network, without the requirement of digitally comparing data on the network with expected data. Finally, it is desirable that this inexpensive collision detection device include a light emitting diode to signal the detection of collisions.